import Dialog from '../../miniprogram_npm/@vant/weapp/dialog/dialog';
import {
    HomeListApi,
    bookNow,
    getyyList,
    LjoderList,
    bookTeamNow
} from "../../api/home.js";

Page({
    /**
     * 页面的初始数据
     */
    data: {
        numberArray: [],
        zzqIndex: 0,
        personInfo: null,
        top: null,
        url: "http://test.static.bowu66.com/",
        year: '',
        month: null,
        day: null,
        week: "",
        date: '',
        values: '',
        radioyn: "true",
        queren: true,
        pic: null,
        show: false,
        checked: false,
        radiojk: "",
        radiotw: "",
        radioxg: "",
        radiozz: '1',
        // time: "09:00-12:00",
        radio: '1',
        radios: "1",
        // 弹出框的值
        show: false,
        zzq: 0,
        email:"",
        number: 0,
        numbers: 1,
        namrs:"",
        tel:"",
        tiem: null,
        array: [
            "09:00-12:00",
            "14:00-16:00"
        ],
        indexs: null,
        index: 0,
        form: null,
    },
    onShow() {
        let personData = wx.getStorageSync('personArray'); 
        if (!personData) personData = [];
        let result = personData.some(item => {
            return item ? item.name : "" == this.data.personInfo ? this.data.personInfo.name : ""
        })
        // console.log(result) // false
        // if (result) return wx.showToast({
        //   title: '游客已添加过了',
        //   icon: "error"
        // })
        // 游客未填加 
        // console.log(this.data.personInfo)
        if (this.data.personInfo != null) {
            personData.push(this.data.personInfo)
        }
        wx.setStorageSync('personArray', personData)  //这存的
        console.log(personData)
        console.log();
        this.setData({
            form: wx.getStorageSync("personArray")
        })

    },
    onChangezz(event) {
        this.setData({
            radiozz: event.detail,
        });
    },
    //选中
    handleTouristActive(e) {
        // console.log(e);
        this.setData({
            zzqIndex: e.currentTarget.dataset.index
        })

    },
    //步进器 团队人数
    onChangenumber(event) {
        // console.log(event.detail);
        this.setData({
            numbers: event.detail
        })
    },
    //邮箱
    onChange12(event){
        console.log(event);
        this.setData({
            email:event.detail
        })
    },
    //联系人姓名
    onChangename(event){
        // console.log(event);
        this.setData({
            namrs:event.detail
        })
    },
    onChange1(event) {
        // console.log(event.detail);
        this.setData({
            tel: event.detail
        })
    },
    onChangeradio(event) {
        // console.log(event.detail);
    },
    onChangeyn(event) {
        // console.log(event.detail); //n
    },
    //   高风险地区
    onChangejk(event) {
        // console.log(event.detail);
        this.setData({
            radiojk: event.detail
        })
    },
    bindPickerChange(e) {
        // console.log(e);
        this.setData({
            index: e.detail.value,
            number: this.data.numberArray[e.detail.value],
            indexs: this.data.array[e.detail.value]
        })

        console.log(this.data.number);
        console.log(this.data.numberArray);
    },
    //体温℃
    onChangeytw(event) {
        // console.log(event.detail);
    },
    // 新冠
    onChangeyxg(event) {
        let xg = event.detail;
        // console.log(event);
        this.setData({
            radioxg: xg
        })
    },
    // 提交预约按钮
    onChange44(event) {
        // console.log(event.detail);
        this.setData({
            checked: event.detail,
        });
    },
    // 弹出框
    Dialog() {
        Dialog.alert({
            title: '预约公告',
            message: '预约公告预约公告预约公告预约公告预约公告预约公告预约公告预约公告预约公告预约公告预约公告预约公告预约公告预约公告预约公告预约公告预约公告预约公告预约公告预约公告预约公告预约公告预约公告预约公告预约公告预约公告预约公告预约公告预约公告预约公告预约公告预约公告预约公告预约公告预约公告',
        }).then(() => {
            // on close
        });
    },
    // 返回上级页面
    gotapmine() {
        wx.navigateBack({
            delta: 1,
        })
    },
    //   健康承诺书返回上级页面
    onClickLeft() {
        wx.navigateBack({
            delta: 1,
        })
    },
    //单选框个人预约还是团队预约
    onChange(event) {
        // console.log(event);
        this.setData({
            radio: event.detail,
        })
    },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        const menu = wx.getMenuButtonBoundingClientRect();
        let system;
        wx.getSystemInfo({
            success(res) {
                system = res
            }
        });
        const top = system.statusBarHeight + menu.height + (menu.top - system.statusBarHeight) * 2;
        this.setData({
            top: top
        })
        // 初次获取当天的时间
        this.initDate(new Date());
        // 请求主页大图  
        HomeListApi().then(res => {
            this.setData({
                pic: res.data.pic
            })
        })
        //获取页面信息

        var a = (new Date().getMonth() + 1) < 10 ? "0" + (new Date().getMonth() + 1) : (new Date().getMonth() + 1)
        var b = new Date().getDate() < 10 ? "0" + new Date().getDate() : new Date().getDate()
        var tiem = new Date().getFullYear() + "-" + a + "-" + b
        console.log(tiem.toString());
        getyyList({
            "bookDate": tiem
        }).then(res => {
            console.log(res);

        })
        // 立即预约页面信息
        LjoderList({
            "bookDate": tiem
        }).then(res => {
            //   console.log(res.data.dateSessionTime.sessionTimes);
            console.log(res);
          if (res.data.dateSessionTime.sessionTimes != 0) {
            this.setData({
                numberArray: [res.data.dateSessionTime.sessionTimes[0].stockNum, res.data.dateSessionTime.sessionTimes[1].stockNum],
                array: [res.data.dateSessionTime.sessionTimes[0].sessionTime, res.data.dateSessionTime.sessionTimes[1].sessionTime, ],
                number: res.data.dateSessionTime.sessionTimes[0].stockNum
            })
          }else{
              this.setData({
                number:"预约人数已满",
                array:''
              })
          }
        })
        console.log(this.data.tiem); 
    },
    //调整新增用户页面
    new() {
        if (wx.getStorageSync('personArray').length <= 4) {
            wx.navigateTo({
                url: '/pages/add_tourist/addTourist',
            })
        } else {
            wx.showModal({
                title: "只可以添加五人"
            })
        }

    },
    //   初始化时间的方法
    initDate(date) {
        // var date = new Date();
        date.getFullYear(); //获取年 
        date.getMonth(); //获取月  
        date.getDate(); //获取当日
        date.getHours() //获取小时
        date.getMinutes() //获取分钟
        date.getSeconds() //获取秒
        date.getMilliseconds() //获取毫秒
        var year = date.getFullYear();
        //因为月份从0开始，所以当前月份需要加1才能正确显示；
        var month = date.getMonth() + 1;
        var day = date.getDate();
        var week = date.getDay();
        var w = new Array(7); //通过自定义数组将“0”转换为“星期日”；
        w[0] = "星期日"
        w[1] = "星期一"
        w[2] = "星期二"
        w[3] = "星期三"
        w[4] = "星期四"
        w[5] = "星期五"
        w[6] = "星期六"
        // 切换时间
        this.setData({
            year: year,
            month: month,
            day: day,
            week: w[week]
        })
    },
    onDisplay(e) {
        console.log(e);
        console.log(e);
        this.setData({
            show: true,
            zzq: 1
        });
        console.log(this.data.zzq);
    },
    onContact(e) {
        // console.log(e);
    },
    onClose(e) {
        this.setData({
            show: false
        });
    },
    formatDate(date) {
        date = new Date(date);
        return `${date.getMonth() + 1}/${date.getDate()}`;
    },
    //修改日历重新提交请求
    onConfirm(event) {
        //   选择指定日期
        var a = (event.detail.getMonth() + 1) < 10 ? "0" + (event.detail.getMonth() + 1) : (event.detail.getMonth() + 1)
        var b = event.detail.getDate() < 10 ? "0" + event.detail.getDate() : event.detail.getDate()
        var tiem = event.detail.getFullYear() + "-" + a + "-" + b
        this.setData({
            tiem: tiem.toString()
        })
        // console.log(tiem);
        this.initDate(event.detail)
        //   debugger
        this.setData({
            show: false,
        });
        // 立即预约页面信息
        LjoderList({
            "bookDate": tiem
        }).then(res => {
            // console.log(res.data.dateSessionTime.sessionTimes);
            this.setData({
                numberArray: [res.data.dateSessionTime.sessionTimes[0].stockNum, res.data.dateSessionTime.sessionTimes[1].stockNum],
                array: [res.data.dateSessionTime.sessionTimes[0].sessionTime, res.data.dateSessionTime.sessionTimes[1].sessionTime, ],
                number: res.data.dateSessionTime.sessionTimes[0].stockNum
            })
            console.log(res);
        })
    },
    onChangetw(event) {
        console.log(event);
        this.setData({
            radiotw: event.detail
        })
    },
    //   提交事件  这个是健康承诺书
    submit() {
        console.log(this.data.radiotw);
        console.log(this.data.radiojk);
        console.log(this.data.radioxg);
        //   判断内容未填写时  进行提示
        if (!this.data.radiotw && !this.data.radiojk && !this.data.radioxg) {
            return wx.showToast({
                title: '无法预约',
                icon: "error"
            })
        } else if (this.data.radiotw == 2 && this.data.radiojk == 2 && this.data.radioxg != 1) {
            return wx.showToast({
                title: '无法预约',
                icon: "error"
            })
        } else {
            console.log("提交成功");
            wx.navigateTo({
                url: '../../pages/yycg/yycg',
            })
        }
        //   内容填写后的逻辑

    },
    //个人提交   个人提交
    subbtn(e) {
        //选择之后  时间段
        // console.log(this.data.indexs);
        //选择之后 日期
        //   console.log(this.data.tiem);
        //选择之前日期
        //   console.log(this.data.year,this.data.month,this.data.day);
        let a1 = this.data.month < 10 ? "0" + this.data.month : this.data.month
        let a3 = this.data.year
        let a2 = this.data.day < 10 ? "0" + this.data.day : this.data.day
        let a4 = a3 + "-" + a1 + "-" + a2 //立即预约
        //选择之前时间段

        
        // console.log(this.data.array[0]);
        if (this.data.zzq == 0) {
            wx.showLoading({
                title: '加载中',
            })
            bookNow({
                sessionTime: this.data.array[0], //入场时间
                travelDate: a4, //出行日期
                visitPeople: [{
                    cardNum: this.data.form[this.data.zzqIndex].cardNumber, //证件号码
                    certType: "身份证", //
                    name: this.data.form[this.data.zzqIndex].name, //姓名  
                    phone: this.data.form[this.data.zzqIndex].phone //手机号
                }]
            }).then(res => {
                wx.hideLoading()
                console.log(res);
                this.setData({
                    queren: false
                })
            },
            )
        } else {
            console.log(this.data.tiem); //进这个页面只有两种可能  一个是用户不换时间直接预约  2是换时间预约
            console.log(this.data.form[this.data.zzqIndex]);
            wx.showLoading({
                title: '加载中',
            })
            bookNow({
                sessionTime: this.data.array[this.data.index], //入场时间
                travelDate: this.data.tiem, //出行日期
                visitPeople: [{
                    cardNum: this.data.form[this.data.zzqIndex].cardNumber, //证件号码
                    certType: "身份证", //
                    name: this.data.form[this.data.zzqIndex].name, //姓名  
                    phone: this.data.form[this.data.zzqIndex].phone //手机号
                }]
            }).then(res => {
                console.log(res);
                wx.hideLoading()
                wx.showModal({
                    title: res.data.msg,
                })
            })
        }
    },
    //删除用户
    delete(e){
       
        // this.data.form[this.data.zzqIndex]
        // console.log(this.data.personArray);
        console.log(e.currentTarget.dataset.index);
        // console.log();
        // this.data.form
        // temp.splice(数组下标,删除数量)
      this.data.form.splice(e.currentTarget.dataset.index,1)
      //赋值渲染
      this.setData({
          form: this.data.form
      })
      // 
      wx.setStorageSync('personArray', this.data.form) 
    },
    //团队预约  团队提交 
    tijiao() {
        let a1 = this.data.month < 10 ? "0" + this.data.month : this.data.month
        let a3 = this.data.year
        let a2 = this.data.day < 10 ? "0" + this.data.day : this.data.day
        let a4 = a3 + "-" + a1 + "-" + a2 //立即预约
        //选择之前时间段
        console.log(this.data.array[0]);
        if (this.data.zzq == 0) {
            wx.showLoading({
                title: '加载中',
            })
            bookNow({
                needTour: this.data.radioyn, //是否需要导览
                num:this.data.numbers,   
                sessionTime: this.data.array[this.data.index], //入场时间
                travelDate: a4, //出行日期
                teamEmail:this.data.email, //邮箱
                teamPhone:this.data.tel, //电话
                teamLeader:this.data.namrs
            }).then(res => {
                wx.hideLoading()
                console.log(res);
                this.setData({
                    queren: false
                })
            })
        } else {
            //进这个页面只有两种可能  一个是用户不换时间直接预约  2是换时间预约
            console.log(this.data.form[this.data.zzqIndex]);
            wx.showLoading({
                title: '加载中',
            })
            bookTeamNow({
                needTour: this.data.radioyn, //是否需要导览
                num:this.data.numbers,
                sessionTime: this.data.array[this.data.index], //入场时间
                travelDate:this.data.tiem , //出行日期
                teamEmail:this.data.email, //邮箱
                teamPhone:this.data.tel, //电话
                teamLeader:this.data.namrs
                // teamLeader:
            }).then(res => {
                console.log(res);
                wx.hideLoading()
                wx.showModal({
                    title: res.data.msg,
                })
            })
        }

    },
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },



    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})